#ifndef EGG_MATERIAL_H
#define EGG_MATERIAL_H

#include "RenderSystem.h"

namespace egg{

    class Material;
    class MaterialPass;
    typedef shared_ptr<Material> MaterialPtr;

    class Material{
    public:
        Material();
        ~Material();
    public:
        void _addPass(MaterialPass* _pass);
        MaterialPtr clone();

        inline uint32 getPassNum(){
            return mPasses.size();
        }
        inline MaterialPass* getPass(uint32 _id){
            return mPasses[_id];
        }
    protected:
        vector<MaterialPass*> mPasses;
    };

}

#endif